package com.fyy.media.service;

import com.fyy.base.model.PageParams;
import com.fyy.base.model.PageResult;
import com.fyy.media.model.dto.QueryMediaParamsDto;
import com.fyy.media.model.dto.UploadFileParamsDTO;
import com.fyy.media.model.dto.UploadFileResultDTO;
import com.fyy.media.model.po.MediaFiles;

/**
 * @author fyy
 * @version 1.0
 * @description 媒资文件管理业务类
 * @date 2024/8/1 22:55
 */
public interface MediaFileService {

    /**
     * @param pageParams          分页参数
     * @param queryMediaParamsDto 查询条件
     * @return com.xuecheng.base.model.PageResult<com.xuecheng.media.model.po.MediaFiles>
     * @description 媒资文件查询方法
     * @author Mr.M
     * @date 2022/9/10 8:57
     */
    public PageResult<MediaFiles> queryMediaFiels(Long companyId, PageParams pageParams, QueryMediaParamsDto queryMediaParamsDto);

    public UploadFileResultDTO uploadFile(Long companyId, UploadFileParamsDTO uploadFileParamsDTO, String localFilePath);

    /**
     * @description 将文件信息添加到文件表
     * @param companyId 机构ID
     * @param fileMD5 文件MD5
     * @param uploadFileParamsDTO 上传文件的信息
     * @param bucketFiles 桶
     * @param objectName 对象名称
     * @return MediaFiles
     */
    public MediaFiles addMediaFilesToDB(Long companyId, String fileMD5, UploadFileParamsDTO uploadFileParamsDTO, String bucketFiles, String objectName);
}
